package br.com.megasena.infraestrutura;

import java.io.Serializable;
import java.util.List;

public interface GenericDAO<T, ID extends Serializable> {

	T load(Class<T> classToSearch, ID id);
	
	T getPojoById(Class<T> classToSearch, ID id);

	void saveOrUpdatePojo(Serializable pojo);
	
	void removePojo(Serializable pojo);
	
	Serializable getPurePojo(String query, Object...params);
	
	List<T> getListPojos(Class<T> classToCast, String query, Object...params);

}